/**
 * Company : SIANGKLOM.
 * Created By : Chatree Siangklom
 * Created On : Oct 15, 2013  1:46:31 PM 
 * e-Mail : dr_chatree@hotmail.com
 * Mobile Phone : (+66) 087-921-5115
 * Package Name : com.tis.database.services.promis
 * File Name : IInvoice.java
 * TODO
 */
package com.tis.database.services.promis;

import java.math.BigDecimal;
import java.util.List;

import org.hibernate.HibernateException;

import com.tis.database.entitys.promis.GlPostingDetail;
import com.tis.database.entitys.promis.Invoice;
import com.tis.database.entitys.promis.InvoicePK;

/**
 * @author Chatree Siangklom of Administrator
 * Date =Oct 15, 2013 : 1:46:31 PM 
 * CreateBy=Chatree Siangklom
 * 
 * IInvoice
 * TODO
 */
public interface IInvoiceServices {

	Invoice findById(InvoicePK id) throws HibernateException;
	
	void saveOrUpdate(Invoice e) throws HibernateException;
	
	void saveOrUpdate(List<Invoice> e) throws HibernateException;

	BigDecimal NextInstanceNo() throws HibernateException, Exception;
	
	BigDecimal NextSequence(String name) throws HibernateException, Exception;
	
	void UpdateBackSapMessage(GlPostingDetail glPostingDetail) throws HibernateException, Exception;
	
	
	List<Invoice> FindByIs(String status, String syncIsstaging, String syncIssync, int maxResult) throws Exception;
	
}
